Demystifying Intel Branch Predictors
نویسندگان
چکیده
Improvement of branch predictors has been one of the focal points of computer architecture research during the last decade, ranging from two-level predictors to complex hybrid mechanisms. Most research efforts try to use real, already implemented, branch predictor sizes and organizations for comparison and evaluation. Yet, little is known about exact predictor implementation in Intel processors, apart from a few hints in the Intel manuals and valuable but unverified hacker efforts. Intel processors include performance monitoring counters that can count the events related to branches, and Intel provides a powerful VTune Performance Analyzer tool enabling easy access to performance counters. In this paper, we propose a series of experiments that explore the organization and size of a branch predictor, and use it to investigate Pentium III and Pentium 4 predictor implementations. Such knowledge could be used in further predictor research, as well as in the design of new, architecture-aware compilers.
منابع مشابه
Microbenchmarks for determining branch predictor organization
In order to achieve an optimum performance of a given application on a given computer platform, a program developer or compiler must be aware of computer architecture parameters, including those related to branch predictors. Although dynamic branch predictors are designed with the aim of automatically adapting to changes in branch behavior during program execution, code optimizations based on t...
متن کاملWho Watches the Watchmen?: Utilizing Performance Monitors for Compromising Keys of RSA on Intel Platforms
Asymmetric-key cryptographic algorithms when implemented on systems with branch predictors, are subjected to side-channel attacks exploiting the deterministic branch predictor behavior due to their keydependent input sequences. We show that branch predictors can also leak information through the hardware performance monitors which are accessible by an adversary at the user-privilege level. This...
متن کاملDemystifying EPIC and IA-64: 1/26/98
Using a next-generation architecture technology that Intel and Hewlett-Packard call EPIC (explicitly parallel instruction computing), Merced and future EPIC processors threaten the performance lead held today by RISC processors. EPIC is not entirely new, borrowing many of its ideas from previous RISC and VLIW designs as well as from recent academic research. EPIC has an inherent performance adv...
متن کاملBranch Behavior of a Commercial OLTP Workload on Intel IA32 Processors
This paper presents a detailed branch characterization of an Oracle based commercial on-line transaction processing workload, Oracle Database Benchmark (ODB), running on an IA32 processor. We ran a welltuned ODB on Simics, a full system simulator, to collect the instruction traces used in this study. We compare the branch behavior of ODB with the branch behaviors of gcc, gzip and mcf from the S...
متن کاملFault Attack revealing Secret Keys of Exponentiation Algorithms from Branch Prediction Misses
Performance monitors are provided in modern day computers for observing various features of the underlying microarchitectures. However the combination of underlying microarchitectural features and performance counters lead to sidechannels which can be exploited for attacking cipher implementations. In this paper, to the best of our knowledge we study for the first time, the combination of branc...
متن کامل